#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    int arr[101] = { 0 };
    for (int i = 1; i <= n; i++)
        scanf("%d", &arr[i]);
    for (int i = 1; i <= n; i++)
    {
        printf("#%d\n", i);
        int flag = 0;
        int n1 = 2;
        int p = i;
        int count = 0;
        if (n > 2)
            n1 = n;
        for (int j = 1; j <= arr[i] * 10; j++)
        {
            if (flag == 0)
            {
                printf("%d", p);
                flag = 1;
                count++;
            }
            else
            {
                printf(" %d", p);
                count++;
            }
            if (count % 10 == 0)
            {
                flag = 0;
                printf("\n");
            }
            if (count % 10 == 0 && n1 > 2)
            {
                p += n1;
                n1 = n;
                for (int m = 1; m <= n; m++)
                {
                    if (count >= arr[m] * 10)
                        n1--;
                }
                continue;
            }
            p += n1;
        }
    }
    return 0;
}
//#include <stdio.h>
//int main()
//{
//    int n = 0;
//    int count = 1;
//    int rem = 0;
//    int i = 0;
//    int arr[10000] = { 0 };
//    scanf("%d", &n);
//    int num = 1;
//    while (num < n)
//    {
//        num = num * 10 + 1;
//        count++;
//    }
//    for (i=0; ; i++)
//    {
//        int ret = num / n;
//        arr[i] = ret;
//        num = num % n;
//        if (num != 0)
//        {
//            num = num * 10 + 1;
//            count++;
//        }
//        else
//        {
//            break;
//        }
//    }
//    for (int j = 0; j <= i; j++)
//        printf("%d", arr[j]);
//    printf(" %d", count);
//    return 0;
//}

//#include <stdio.h>
//#include <string.h>
//int main()
//{
//    char s1[1001] = { 0 };
//    char s2[100][100] = { 0 };
//    int n, c;
//    scanf("%d", &n);
//    getchar();
//    gets(s1);
//    int len = strlen(s1);
//    if (len % n == 0)
//        c = len / n;
//    else
//        c = len / n + 1;
//    int m = 0;
//    for (int i = c - 1; i >= 0; i--)
//    {
//        for (int j = 0; j < n; j++)
//        {
//            s2[j][i] = s1[m];
//            m++;
//        }
//    }
//    for (int i = 0; i < n; i++)
//    {
//        for (int j = 0; j <= c-1; j++)
//        {
//            if (s2[i][j] != '\0')
//                printf("%c", s2[i][j]);
//            else
//                printf(" ");
//        }
//        if (i < len - 1);
//        printf("\n");
//    }
//    return 0;
//}